package com.jinmdz.fmis.dao.model.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 殡仪馆收入统计
 *
 * @author GuanKui
 * @date 2020/2/26 10:39
 */
@AnTable(value = "Sheet", title = "")
public class SearchRevenueStatisticsViewItem extends BaseBean {

    /**
     * 费用主键
     */
    private Integer id;

    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 逝者姓名
     */
    private String deadName;

    /**
     * 家属姓名
     */
    private String memberName;

    /**
     * 应收金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal receiptCharge;

    /**
     * 优惠金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal discountCharge;

    /**
     * 惠民金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal benefitCharge;

    /**
     * 结算金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal settleCharge;

    /**
     * 结算批次编号
     */
    private String settleBatchNo;

    /**
     * 结算时间
     */
    private Date settleTime;

    /**
     * 结算项目编号
     */
    @JsonIgnore
    private Integer settleTypeCode;

    /**
     * 结算项目
     */
    @AnDict(dict = EDictCode.SETTLE_TYPE, ref = "settleTypeCode")
    private String settleType;

    /**
     * 发票号
     */
    private String invoiceNo;

    /**
     * 收据号
     */
    private String receiptNo;

    public Integer getId() {
        return id;
    }

    public SearchRevenueStatisticsViewItem setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchRevenueStatisticsViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchRevenueStatisticsViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getMemberName() {
        return memberName;
    }

    public SearchRevenueStatisticsViewItem setMemberName(String memberName) {
        this.memberName = memberName;
        return this;
    }

    public BigDecimal getReceiptCharge() {
        return receiptCharge;
    }

    public SearchRevenueStatisticsViewItem setReceiptCharge(BigDecimal receiptCharge) {
        this.receiptCharge = receiptCharge;
        return this;
    }

    public BigDecimal getDiscountCharge() {
        return discountCharge;
    }

    public SearchRevenueStatisticsViewItem setDiscountCharge(BigDecimal discountCharge) {
        this.discountCharge = discountCharge;
        return this;
    }

    public BigDecimal getBenefitCharge() {
        return benefitCharge;
    }

    public SearchRevenueStatisticsViewItem setBenefitCharge(BigDecimal benefitCharge) {
        this.benefitCharge = benefitCharge;
        return this;
    }

    public BigDecimal getSettleCharge() {
        return settleCharge;
    }

    public SearchRevenueStatisticsViewItem setSettleCharge(BigDecimal settleCharge) {
        this.settleCharge = settleCharge;
        return this;
    }

    public String getSettleBatchNo() {
        return settleBatchNo;
    }

    public SearchRevenueStatisticsViewItem setSettleBatchNo(String settleBatchNo) {
        this.settleBatchNo = settleBatchNo;
        return this;
    }

    public Date getSettleTime() {
        return settleTime;
    }

    public SearchRevenueStatisticsViewItem setSettleTime(Date settleTime) {
        this.settleTime = settleTime;
        return this;
    }

    public Integer getSettleTypeCode() {
        return settleTypeCode;
    }

    public SearchRevenueStatisticsViewItem setSettleTypeCode(Integer settleTypeCode) {
        this.settleTypeCode = settleTypeCode;
        return this;
    }

    public String getSettleType() {
        return settleType;
    }

    public SearchRevenueStatisticsViewItem setSettleType(String settleType) {
        this.settleType = settleType;
        return this;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public SearchRevenueStatisticsViewItem setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
        return this;
    }

    public String getReceiptNo() {
        return receiptNo;
    }

    public SearchRevenueStatisticsViewItem setReceiptNo(String receiptNo) {
        this.receiptNo = receiptNo;
        return this;
    }
}
